bitkeeper revision 1.1637 (429efe55wJJIZHFiBeWAvMfzBaNppw)
authorcl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Thu, 2 Jun 2005 12:40:53 +0000 (12:40 +0000)
committercl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Thu, 2 Jun 2005 12:40:53 +0000 (12:40 +0000)
network:
  - remove route added by setting addr/netmask on new interface
  - do exact match on interface names (eth0 matches veth0 otherwise)
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
tools/examples/network

index 4a2cb362498221490d33b27a39847587583066f3..537bbe3dab0c374692190ec07eadf89899ef2fe6 100755 (executable)
@@ -72,6 +72,12 @@ s/inet/ip addr add/
 s@\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+/[0-9]\+\)@\1@
 s/${src}/dev ${dst}/
 " | sh -e
+    # Remove automatic routes on destionation device
+    ip route list | sed -ne "
+/dev ${dst}\( \|$\)/ {
+  s/^/ip route del /
+  p
+}" | sh -e
 }
 
 # Usage: del_addrs src
@@ -95,16 +101,17 @@ transfer_routes () {
     # List all routes and grep the ones with $src in.
     # Stick 'ip route del' on the front to delete.
     # Change $src to $dst and use 'ip route add' to add.
-    ip route list | grep ${src} | sed -e "
-h
-s/^/ip route del /
-P
-g
-s/${src}/${dst}/
-s/^/ip route add /
-P
-d
-" | sh -e
+    ip route list | sed -ne "
+/dev ${src}\( \|$\)/ {
+  h
+  s/^/ip route del /
+  P
+  g
+  s/${src}/${dst}/
+  s/^/ip route add /
+  P
+  d
+}" | sh -e
 }
 
 # Usage: create_bridge bridge